package com.oig.sys.msg.service;

import com.oig.sys.msg.dto.NoticeMsgDto;
import com.oig.sys.msg.vo.NoticeMsgVo;

import java.util.List;

/**
 * @author wuxl
 */
public interface ITbNoticeMsgService {

	/**
	 * add
	 */
	NoticeMsgVo addNoticeMsg(NoticeMsgDto noticeMsgDto);

	/**
	 * update
	 */
	NoticeMsgVo updateNoticeMsg(NoticeMsgDto noticeMsgDto);

	/**
	 * del
	 */
	void delNoticeMsg(Integer id);

	NoticeMsgVo getNoticeMsgMainInfo(Integer id);
	/**
	 * get info
	 */
	NoticeMsgVo getNoticeMsg(Integer id);

	/**
	 * audit
	 */
	NoticeMsgVo auditNoticeMsg(NoticeMsgDto noticeMsgDto);

	/**
	 * publish
	 */
	NoticeMsgVo publishMsg(NoticeMsgDto noticeMsgDto);


	NoticeMsgVo addSysNoticeMsg(NoticeMsgDto noticeMsgDto);


    Integer updatePushedUnReadMsgNum(Integer userId);



	void updateRead(List<Integer> msgIdList,Integer userId);

	void updateDel(List<Integer> msgIdList,Integer userId);

	void updateReadAll(Integer userId);

	void updateDelAll(Integer userId);

    List<NoticeMsgVo> findUnSendMsg();

	void updateMsgStatusById(Integer id);

	void updateMsgSendTimes(Integer id);
}
